package com.ccsc.auth.dao;

import com.ccsc.auth.entity.Resource;
import com.github.miemiedev.mybatis.paginator.domain.PageBounds;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 资源
 * Created by yyangs on 2017/2/10.
 */
public interface ResourceDao {
    Resource getResourceInfoById(Resource resource) throws Exception;   			                                    //根据资源条件查资源信息

    List<Resource> getAllResources() throws Exception;       									                        //获取全部资源列表
    List<Resource> getAllResources(PageBounds pageBounds) throws Exception;       									    //获取全部资源列表

    List<Resource> getResourceInfosByCondition(Resource resource) throws Exception;					                    //分页并根据条件查询资源列表
    List<Resource> getResourceInfosByCondition(Resource resource, PageBounds pageBounds) throws Exception;				//分页并根据条件查询资源列表（id,父资源id，资源级别，系统id等）

    List<Resource> getResourceInfosBySystemsId(Integer systemsId) throws Exception;                                     //根据系统id查询资源列表
    List<Resource> getResourceInfosByRoleId(@Param("roleId") Integer roleId) throws Exception;                          //根据roleid查询资源列表

    Integer createResource(Resource resource) throws Exception;  									                    //添加资源
    Integer updateResource(Resource resource) throws Exception;  							                            //修改资源
    Integer deleteResource(Resource resource) throws Exception; 					                                    //删除资源

}